home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Summary of New Features ΓòÉΓòÉΓòÉ
-
- I received a great deal of quality feedback from dozens of people that tried
- previous releases of PMMPEG. Here is a summary of new features that have been
- implemented based on your suggestions. Please continue to send suggestions and
- bug reports, it will help to make PMMPEG better for everyone.
-
- Click on the links below to get more information on each feature.
-
- New Features in PMMPEG 3.0:
-
- Added DIVE support. This is the high-speed graphics and color conversion
- interface built into every video driver that ships with OS/2 Warp 3.0
- running with at least 256 colors.
-
- Designed smaller icons in the toolbar to save screen space.
-
- Redesigned the menus and added new options, as outlined below.
-
- Added Registration feature. Don't worry! It gently reminds you to
- register each time the application starts up. There is no reduced
- functionality and none of your files is changed in any way.
-
- Added Save current movie feature.
-
- Added Half, Normal and Double size options.
-
- Added Unlimited, Fast, Medium and Slow playback speed options.
-
- Added an option to turn the menu/toolbar on and off. When off, you can
- still access the menu and toolbar with a click of Mouse Button 2.
-
- Added an option to maintain the aspect ratio during a resize of the
- playback frame.
-
- Updated the status bar to show the movie size, frame rate and an
- indication of the movie type: I frame or IBP frame.
-
- Redesigned the sizing scheme. Removed the Small/Large button in the
- toolbar as you can resize the movie by resizing the frame to any size you
- like. You can even Maximize it! The Half, Normal and Double menu
- options help to get exact sizes with a click. You can use the maintain
- the aspect ratio menu item to keep the movie properly proporationed as
- you resize it.
-
- Moved all saved information out of the OS/2 INI file and into PMMPEG.INI,
- which lives in the same directory as the PMMPEG.EXE file.
-
- Removed the Beep at the end of the movie.
-
- Updated possible command line options.
-
- Updated configuration data values saved between runs.
-
- Updated popup panel when non-understood file is loaded.
-
- Updated the popup message when no help file found more understandable.
-
- Mentioned how to make Ultimotion movies with the VideoIn application from
- the OS/2 Warp 3.0 Bonus Pak.
-
- Bug fix: Client was sized just a little too small, this has been fixed by
- virtue of the new sizing method.
-
- Bug fix: No one discovered a latent bug where the Open File dialog would
- fail if a movie name was passed on the command line with a relative path.
-
- New Features in PMMPEG 2.1:
-
- Optimized playback speed with I/B/P movies. They play at much higher
- frame rates and as a side effect the bug with stepping frame by frame in
- I/B/P movies has been corrected.
-
- Added Slideshow feature. This allows you to select multiple files with
- the File Dialog, drag/drop multiple files from somewhere on the desktop
- or specify multiple files on the command line. PMMPEG will then play
- each movie, one after the other, and optionally loop back to the front of
- the list and play again if the Loop mode is set.
-
- Added Toolbar buttons that allow you to save the current frame to the
- Clipboard or to an OS/2 Bitmap file
-
- The Statistics dialog has been replaced by a Status bar that can be
- optionally displayed at the bottom of the frame. This shows the relevant
- statistics for the movie: resolution, frame count (for I/B/P and
- displayed frames) and frame rate in frames/second.
-
- If a decoding problem occurs on a particular frame, the status bar will
- optionally be displayed with a red background for that frame.
-
- A pop up message will be displayed if the current display configuration
- is not set up for at least 256 colors This is required for proper display
- of the images.
-
- Added WS_ANIMATE bit to respect system window animation option.
-
- Update MPEG movie site information.
-
- Added MPEG-2 decoder discussion to help file.
-
- Added DIVE discussion/problems to help file.
-
- Tested increasing color dithering space up from 128 colors but there was
- not much visual difference and performance suffered.
-
- Optimization: Check and don't change a button if it's already in the
- required state.
-
- Optimization: Quickly skip initial frames until a non-all-black frame is
- found. This will always display the first valid frame of any movie.
-
- Optimization: Better frame/second calculation, still mildly optimistic.
-
- Bug fix: Leaves movie positioned at last frame when it ends.
-
- Bug fix: Only one error message on improper end sequence, stops
- gracefully.
-
- Bug fix: Gets focus on startup as it should.
-
- Bug fix: Fixed memory leaks and optimized internal table use.
-
- Internal: Cleaned up compiler warnings in source, removed dead code.
-
- Internal: Removed frame size calculation hack.
-
- New Features in PMMPEG 2.0:
-
- Toolbar with tape controls (Play/Stop/Rewind/Step/Size/Color/Loop)
-
- Accept MPEG filename on command line and automatically play it.
-
- Command line options for playback size, color and looping.
-
- Configuration data saved between runs.
-
- INSTALL.CMD will create a PMMPEG desktop object
-
- INSTALL.CMD will associate PMMPEG with all *.MPG files
-
- Drag/Drop MPEG movie onto PMMPEG.
-
- Double size playback is possible both in Color and Grayscale.
-
- Loading a movie decodes and displays the first valid frame.
-
- When the window is obscured and then revealed, the movie frame is
- repainted.
-
- New MPEG movie sites added and corrections made to list.
-
- File Dialog always brings up *.MPG.
-
- MPEG filename is now displayed in the Title bar.
-
- Bug fix: no more silent death problem. PMMPEG jumps to the next frame
- when bad encoding detected.
-
- Bug fix: The file handle is closed when a movie fails parsing as non-MPEG
- format
-
- Bug fix: Popups are now displayed on fatal read/MPEG stream/parsing
- errors.
-
-
- ΓòÉΓòÉΓòÉ 2. Suggestions for Future Releases ΓòÉΓòÉΓòÉ
-
- Here is the list of features I was not able to add in time for this release.
- If you have any more features you'd like to see, please send them to me.
-
- I can't promise to eventually implement them all, due to constraints like time,
- Berkeley decoding engine limitations, etc., but I'll do my best.
-
- The list is in a rough order of what I think I'll concentrate on.
-
- Provide an OS/2 for PowerPC executable shortly after the projected April
- 1995 OS/2 for PowerPC Beta is released. I have build the code with the
- limited December 1994 OS/2 for PowerPC beta, but decided against it
- because of the limited distribution, stability and performance. I expect
- great things from the upcoming Beta.
-
- Provide an MPEG part for OpenDoc. I had it working at one point and it
- only took about 2 days to convert the conventional PM program. OpenDoc
- has matured greatly since then but I wanted to get this release out
- quickly as people have been waiting long enough. I'll ship the OpenDoc
- part as soon as I get updated toolkits, samples, etc. and have the time
- to do the port.
-
- Support a play list - a file containing a list of MPEG files to be
- played.
-
- Save all frames of movie as bitmaps with unique names with a single
- click.
-
- Move bottom of window when status bar is toggled, instead of top.
-
- Ensure window stays completely on desktop when toggling status or size
- buttons.
-
- Save bitmaps as RLE, optional as some apps don't like RLE encoding.
-
- Allow priority adjustment.
-
- Display any interesting info from the MPEG header.
-
- REXX hooks for external control of behavior.
-
- Further Optimize decoding/dithering to improve frame rate.
-
- Overlap display/decode of frames to speed throughput.
-
- Frame back (I frame only).
-
- Play at encoded speed, some movies go too fast.
-
- Scroll bar back and forth across frames.
-
- Pre-parse file and then play back frames.
-
- Bar graph timeline.
-
- Audio sync.
-
- Make into MMPM/2 codec.
-
-
- ΓòÉΓòÉΓòÉ 3. Non-Understood Files ΓòÉΓòÉΓòÉ
-
- When you select a file with the Open... menu item or Drag and Drop a file or
- group of files onto the movie window, PMMPEG may pop up a message that it
- doesn't understand the file. There are a few reasons for this:
-
- It may really be a non-MPEG file.
-
- It could be an MPEG-1 file with interleaved sound. These files seem to
- have a defacto extension of .mp2 and are found at music sites around the
- Internet. PMMPEG does not support any MPEG files with interleaved sound
- at this time.
-
- It could be an MPEG-2. PMMPEG does not support MPEG-2 at this time.
-
-
- ΓòÉΓòÉΓòÉ 4. VideoIn ΓòÉΓòÉΓòÉ
-
- The OS/2 Warp 3.0 Bonus Pak includes an application called VideoIn that won the
- Best Product award at COMDEX. Among other things, it can build an Ultimotion
- file from a series of bitmaps. Ultimotion is the native video file format for
- OS/2.
-
- If you step through your movie and save each frame into a bitmap file, you'll
- be able to make an Ultimotion file from it. VideoIn will even let you add
- sound to the file and playback will stay in sync with the audio.
-
-
- ΓòÉΓòÉΓòÉ 5. Toolbar ΓòÉΓòÉΓòÉ
-
- Use the buttons on the toolbar to control the playback of the movie and select
- playback options.
-
- The buttons on the toolbar have the following functions:
-
- The Play Button causes the movie to start playing.
-
- The Stop Button causes the movie to stop playing.
-
- The Rewind Button causes the movie to be rewound to the first frame,
- ready for a subsequent Play or Step.
-
- The Step Button button causes the next frame of the movie to be
- displayed.
-
- The Clipboard Button causes the image of the currently displayed frame to
- be copied to the OS/2 clipboard.
-
- The File Button causes the image of the currently displayed frame to be
- saved to an OS/2 bitmap file on disk.
-
- The Color/Gray Button can be either in Color or Grayscale mode.
-
- - When in the Color state, the movie is played at the color setting of
- your desktop; generally 256, 64K or 16.7M colors.
-
- - When in the Gray state, the movie is played in shades of gray, the
- number of shades depend on the color setting of your desktop.
- Grayscale plays movies a little faster than Color because there's
- less work to do.
-
- The NoLoop/Loop Button button can be either in NoLoop or Loop mode.
-
- - When in the NoLoop state, the movie is played once and then halts at
- the end.
-
- - When in the Loop state, the movie is played over and over until you
- click on the Stop button or drag and drop a new movie onto the
- window.
-
-
- ΓòÉΓòÉΓòÉ 5.1. Play Button ΓòÉΓòÉΓòÉ
-
- The Play button causes the movie to start playing. When the movie starts
- playing, the Stop button will be enabled and the Rewind and Step buttons will
- be disabled.
-
- If there is no movie loaded, the button will be in this grayed out state:
-
- If there is a movie loaded and it's not currently playing, the button
- will be in this enabled state:
-
- If there is a movie loaded and it is currently playing, the button will
- be in this grayed out state:
-
-
- ΓòÉΓòÉΓòÉ 5.2. Stop Button ΓòÉΓòÉΓòÉ
-
- The Stop button causes the movie to stop playing. When the movie stops
- playing, the Play, Rewind and Step buttons will be enabled.
-
- If there is no movie loaded, the button will be in this grayed out state:
-
- If there is a movie loaded and it's not currently playing, the button
- will be in this grayed out state:
-
- If there is a movie loaded and it is currently playing, the button will
- be in this enabled state:
-
-
- ΓòÉΓòÉΓòÉ 5.3. Rewind Button ΓòÉΓòÉΓòÉ
-
- The Rewind button causes the movie to be rewound to the first frame, ready for
- a subsequent Play or Step.
-
- If there is no movie loaded, the button will be in this grayed out state:
-
- If there is a movie loaded and it's not currently playing, the button
- will be in this enabled state:
-
- If there is a movie loaded and it is currently playing, the button will
- be in this grayed out state:
-
-
- ΓòÉΓòÉΓòÉ 5.4. Step Button ΓòÉΓòÉΓòÉ
-
- The Step button causes the next frame of the movie to be displayed. If the end
- of the movie is encountered, it will be rewound to the first frame and stepping
- can continue without reloading the movie.
-
- There is a known problem when using Step with IBP-Frame Movies
-
- If there is no movie loaded, the button will be in this grayed out state:
-
- If there is a movie loaded and it's not currently playing, the button
- will be in this enabled state:
-
- If there is a movie loaded and it is currently playing, the button will
- be in this grayed out state:
-
-
- ΓòÉΓòÉΓòÉ 5.5. Clipboard Button ΓòÉΓòÉΓòÉ
-
- This button allows you to save the curently displayed frame into the clipboard.
- This allows other OS/2 (and smart Windows) applications to copy the bitmap out
- of the clipboard for later use. Such apps might allow you to touch up the
- image or add text to it, then save to any one of many image file formats.
-
- If there is no movie loaded, the button will be in this grayed out state:
-
- If there is a movie loaded and it's not currently playing, the button
- will be in this enabled state:
-
- If there is a movie loaded and it is currently playing, the button will
- be in this grayed out state:
-
-
- ΓòÉΓòÉΓòÉ 5.6. File Button ΓòÉΓòÉΓòÉ
-
- This button allows you to save the curently displayed frame as a 256 color
- non-RLE OS/2 bitmap file. It will attempt to generate a unique filename based
- on the movie filename and the current frame number. If you're saving the file
- to a FAT formatted partition, the initial filename may have too many
- characters. Simply shorten the first part of the bitmap filename so it fits
- the 8.3 naming convention. Subsequent attempts to save the bitmap to a file
- will use the altered name, replacing the frame number with the new frame
- number.
-
- If there is no movie loaded, the button will be in this grayed out state:
-
- If there is a movie loaded and it's not currently playing, the button
- will be in this enabled state:
-
- If there is a movie loaded and it is currently playing, the button will
- be in this grayed out state:
-
-
- ΓòÉΓòÉΓòÉ 5.7. Color/Gray Button ΓòÉΓòÉΓòÉ
-
- The Color/Gray button toggles back and forth between color playback and
- shades-of-gray playback.
-
- This button defaults to Color, but can be changed by options on the command
- line or the configuration data in force when this program was last shut down.
-
- You will usually see slightly better frame rates with Gray than with Color due
- to the simpler dithering calculations. Also, some movies have "garish" color
- and selecting gray scale will make them more pleasing to the eye.
-
- There is a problem with the Color Table when switching from color->gray or
- gray->color during playback.
-
- Note: You can toggle this while the movie is running and the display will
- change to the desired color scheme.
-
- When in the Color state , the movie is played in color. If in DIVE mode,
- it uses the full number of colors running on your desktop. If in
- non-DIVE mode, it uses 128 colors.
-
- When in the Grayscale state , the movie is played in shades of gray.
-
-
- ΓòÉΓòÉΓòÉ 5.8. NoLoop/Loop Button ΓòÉΓòÉΓòÉ
-
- The NoLoop/Loop button toggles back and forth between playing the movie and
- looping around to the start and playing again or playing the movie and stopping
- at the end.
-
- This button defaults to NoLoop, but can be changed by options on the command
- line or the configuration data in force when this program was last shut down.
-
- Note: You can toggle this while the movie is running and the movie will behave
- accordingly when it hits the last frame.
-
- When in the NoLoop state , the movie stops when it hits the last frame.
-
- When in the Loop state , the movie loops around to the start and
- continues playing when it hits the last frame.
-
-
- ΓòÉΓòÉΓòÉ 6. Configuration Data ΓòÉΓòÉΓòÉ
-
- PMMPEG stores information about itself when you quit so it can try to give you
- the same environment the next time you run it.
-
- Window position on the desktop is saved and restored, even if maximized
- or minimized.
-
- Window size is saved and restored.
-
- Color / Gray state is saved and restored.
-
- Loop / No Loop state is saved and restored.
-
- DIVE / No DIVE state is saved and restored.
-
- Status Bar / No Status Bar state is saved and restored.
-
- Bad Encoding Message / No Bad Encoding Message state is saved and
- restored.
-
- Menu/Toolbar / No Menu/Toolar state is saved and restored.
-
- Maintain Aspect Ratio / No Maintain Aspect Ratio state is saved and
- restored.
-
- Half size / Normal Size / Double size state is saved and restored.
-
- Slow / Medium / Fast / Unlimited playback speed state is saved and
- restored.
-
- The last directory path a movie is loaded from is saved and restored.
-
- The last directory path a movie frame is saved to is saved and restored.
-
- If you simply launch PMMPEG without any command line options, these values
- will be loaded and used to set up the player just like it was when you quit it
- last. You can use command line options which will override these saved
- values.
-
-
- ΓòÉΓòÉΓòÉ 7. Command Line Options ΓòÉΓòÉΓòÉ
-
- PMMPEG has been enhanced to take a number of options on the command line,
- allowing its use as an object on the desktop or as part of a program like the
- OS/2 Warp 3.0 Bonus Pak application WebExplorer which attempts to pass the
- filename of an MPEG movie on the command line.
-
- These are the recognized command line options:
-
- -color Color playback, default.
-
- -gray Grayscale playback.
-
- -noloop One play playback, default.
-
- -loop Looping playback.
-
- -dive Use DIVE -enabled playback, default.
-
- -nodive Use conventional GpiBitBlt playback.
-
- -status Show the status bar , default.
-
- -nostatus Do not show the status bar
-
- -encmsg Indicate in the status bar when an encoding error is detected in
- the MPEG file.
-
- -noencmsg Ignore any encoding errors in the MPEG file, default.
-
- -toolbar Show the menu/toolbar , default.
-
- -notoolbar Do not show the menu/toolbar
-
- -aspect Maintain the aspect ratio during a resize of the movie window,
- default.
-
- -noaspect Do not maintain the aspect ratio during a resize of the movie
- window.
-
- -half Resize the window to half the normal movie size.
-
- -normal Resize the window to the normal movie size, default.
-
- -double Resize the window to double the normal movie size.
-
- -slow Play the movie at the slow setting.
-
- -medium Play the movie at the medium setting.
-
- -fast Play the movie at the fast setting.
-
- -unlimited Play the movie at the unlimited setting, default.
-
- filename(s) Filename(s) of movies to load and play.
-
- If one or more filenames are given on the command line, either by explicitly
- listing multiple filenames or using a wildcard pattern with * or ?, they will
- be loaded and play started automatically.
-
- Note that the following options are mutually exclusive. You're only allowed
- to choose one from each of the following groups:
-
- -color and -gray
-
- -noloop and -loop
-
- -dive and -nodive
-
- -status and -nostatus
-
- -encmsg and -noencmsg
-
- -toolbar and -notoolbar
-
- -aspect and -noaspect
-
- -half, -normal and -double
-
- -slow, -medium -fast and -unlimited
-
- If more than one of any of these pairs is listed on the command line, the one
- closest to the end of the command line will take precedence.
-
- If any of these options are specified, they will take precedence over the
- information saved from the last time. Therefore, if you want to be sure that
- you get a particular option, it's better to explicitly mention it on the
- command line.
-
-
- ΓòÉΓòÉΓòÉ 7.1. -color option ΓòÉΓòÉΓòÉ
-
- The -color option causes PMMPEG to start up in color mode.
-
-
- ΓòÉΓòÉΓòÉ 7.2. -gray option ΓòÉΓòÉΓòÉ
-
- The -gray option causes PMMPEG to start up in shades of gray mode.
-
-
- ΓòÉΓòÉΓòÉ 7.3. -noloop option ΓòÉΓòÉΓòÉ
-
- The -noloop option causes PMMPEG to start up in play-once-and-stop mode.
-
-
- ΓòÉΓòÉΓòÉ 7.4. -loop option ΓòÉΓòÉΓòÉ
-
- The -loop option causes PMMPEG to start up in continuous loop mode.
-
-
- ΓòÉΓòÉΓòÉ 7.5. -dive option ΓòÉΓòÉΓòÉ
-
- The -dive option causes PMMPEG to display movies using DIVE support.
-
-
- ΓòÉΓòÉΓòÉ 7.6. -nodive option ΓòÉΓòÉΓòÉ
-
- The -nodive option causes PMMPEG to display movies using the conventional
- GpiBitBlt graphics output.
-
-
- ΓòÉΓòÉΓòÉ 7.7. -status option ΓòÉΓòÉΓòÉ
-
- The -status option causes PMMPEG to display the status bar during movie
- playback.
-
-
- ΓòÉΓòÉΓòÉ 7.8. -nostatus option ΓòÉΓòÉΓòÉ
-
- The -nostatus option causes PMMPEG to not display the status bar during movie
- playback.
-
-
- ΓòÉΓòÉΓòÉ 7.9. -encmsg option ΓòÉΓòÉΓòÉ
-
- The -encmsg option causes PMMPEG to display a notification of bad frames in the
- movie.
-
-
- ΓòÉΓòÉΓòÉ 7.10. -noencmsg option ΓòÉΓòÉΓòÉ
-
- The -noencmsg option causes PMMPEG to not display a notification of bad frames
- in the movie.
-
-
- ΓòÉΓòÉΓòÉ 7.11. -toolbar option ΓòÉΓòÉΓòÉ
-
- The -toolbar option causes PMMPEG to display the menu bar and toolbars in the
- movie frame.
-
-
- ΓòÉΓòÉΓòÉ 7.12. -notoolbar option ΓòÉΓòÉΓòÉ
-
- The -notoolbar option causes PMMPEG to not display the menu bar and toolbars in
- the movie frame.
-
-
- ΓòÉΓòÉΓòÉ 7.13. -aspect option ΓòÉΓòÉΓòÉ
-
- The -aspect option causes PMMPEG to maintain the aspect ratio during movie
- window resize.
-
-
- ΓòÉΓòÉΓòÉ 7.14. -noaspect option ΓòÉΓòÉΓòÉ
-
- The -noaspect option causes PMMPEG to not maintain the aspect ratio during
- movie window resize.
-
-
- ΓòÉΓòÉΓòÉ 7.15. -half option ΓòÉΓòÉΓòÉ
-
- The -half option causes PMMPEG to play the movie back at half size.
-
-
- ΓòÉΓòÉΓòÉ 7.16. -normal option ΓòÉΓòÉΓòÉ
-
- The -normal option causes PMMPEG to play the movie back at normal size.
-
-
- ΓòÉΓòÉΓòÉ 7.17. -double option ΓòÉΓòÉΓòÉ
-
- The -double option causes PMMPEG to play the movie back at double size.
-
-
- ΓòÉΓòÉΓòÉ 7.18. -slow option ΓòÉΓòÉΓòÉ
-
- The -slow option causes PMMPEG to play the movie back at slow speed.
-
-
- ΓòÉΓòÉΓòÉ 7.19. -medium option ΓòÉΓòÉΓòÉ
-
- The -medium option causes PMMPEG to play the movie back at medium speed.
-
-
- ΓòÉΓòÉΓòÉ 7.20. -fast option ΓòÉΓòÉΓòÉ
-
- The -fast option causes PMMPEG to play the movie back at fast speed.
-
-
- ΓòÉΓòÉΓòÉ 7.21. -unlimited option ΓòÉΓòÉΓòÉ
-
- The -unlimited option causes PMMPEG to play the movie back at unlimited speed.
-
-
- ΓòÉΓòÉΓòÉ 7.22. filename option ΓòÉΓòÉΓòÉ
-
- The filename option causes PMMPEG to load and start playing that MPEG movie
- automatically.
-
-
- ΓòÉΓòÉΓòÉ 8. Installation ΓòÉΓòÉΓòÉ
-
- PMMPEG can simply be run in any of the following manners:
-
- On the command line, type pmmpeg with any desired options or MPEG
- filenames.
-
- Double-click on the PMMPEG object on your desktop.
-
- Double-click on any .MPG files in any folder.
-
- The second and third options are enabled for you if you run the INSTALL.CMD
- REXX program supplied with PMMPEG.
-
-
- ΓòÉΓòÉΓòÉ 8.1. INSTALL.CMD ΓòÉΓòÉΓòÉ
-
- INSTALL.CMD is a REXX program that will create a PMMPEG desktop object for you
- and set up an association. for any files that end in .MPG.
-
- For this to work properly under OS/2 Warp 3.0, you must first remove the
- default installation association with the following procedure:
-
- Open the Drives folder and go to the mmos2 directory of your OS/2
- partition.
-
- Open the settings panel of MMPM.EXE and go to the Associations page.
-
- Find *.MPG in the list of file extensions at the bottom of the page
-
- Click on *.MPG, then click on Remove.
-
- If anyone would like to write the REXX code to do this automatically, please
- email it to me and I'll include it in the next release of PMMPEG and make you
- famous by putting your name here!
-
- Now make sure PMMPEG.EXE and INSTALL.CMD are located in the directory where
- you are going to keep PMMPEG.EXE. Then type INSTALL at the command line. It
- will create a desktop object and make the association with all .MPG files on
- your system.
-
- If you choose to make your own icon for PMMPEG, click here
-
-
- ΓòÉΓòÉΓòÉ 8.2. PMMPEG Desktop Object ΓòÉΓòÉΓòÉ
-
- To get this feature, follow the INSTALL.CMD procedure. This will make a PMMPEG
- object on your desktop that looks like this:
-
- If you double-click on this object, it will launch PMMPEG. You can add any of
- the command line options you like to the Parameters: field of the Program page
- of its Settings notebook.
-
-
- ΓòÉΓòÉΓòÉ 8.3. .MPG Movie Association ΓòÉΓòÉΓòÉ
-
- OS/2's Workplace Shell has a feature that allows programs to be automatically
- launched when a data file using that executable is double-clicked on. This
- helps us because it allows all MPEG files to be played by PMMPEG just by
- double-clicking on their icons.
-
- OS/2 Warp 3.0 has a peculiar feature that associates all *.MPG file with a
- Bonus Pak application that won't work properly if you don't have a ReelMagic
- MPEG hardware card installed! To have PMMPEG properly associated with all
- *.MPG files, follow the INSTALL.CMD procedure.
-
- Now all MPEG files ending in .MPG on your system should have their icon set to
- the PMMPEG icon:
-
- When you double-click on an MPEG movie, it will launch PMMPEG and automatically
- start playing the selected movie.
-
-
- ΓòÉΓòÉΓòÉ 9. Drag and Drop MPEG Movies ΓòÉΓòÉΓòÉ
-
- PMMPEG has been designed to allow dragging one or more MPEG movies from a
- folder on the desktop to the PMMPEG window.
-
- If you attempt to drop a non-MPEG movie (i.e. not ending in .MPG) the drop will
- be rejected.
-
- If there is no movie currently playing, then when you drop an MPEG movie it
- will be automatically loaded and start playing.
-
- If there is a movie currently playing, then that movie will stop and the new
- movie will be automatically loaded and start playing.
-
- If there is a movie currently playing, and you attempt to drop a non-MPEG movie
- then the movie will stop playing. You then have to click on the Play button to
- continue playing the current movie.
-
-
- ΓòÉΓòÉΓòÉ 10. Menus ΓòÉΓòÉΓòÉ
-
- The following sections describe the menus available in PMMPEG.
-
- File Menu
-
- - Open...
-
- - Save...
-
- - Register...
-
- Movie Menu
-
- - Half Size
-
- - Normal Size
-
- - Double Size
-
- - Unlimited
-
- - Fast
-
- - Medium
-
- - Slow
-
- Options Menu
-
- - Show Menu/Toolbar
-
- - Show Status Bar
-
- - Note Decoding Errors
-
- - Maintain Aspect Ratio
-
- - Use DIVE - <n> Colors
-
- - DIVE Details Dialog
-
- - Help
-
-
- ΓòÉΓòÉΓòÉ 11. File ΓòÉΓòÉΓòÉ
-
- Use File to open or save an MPEG movie and to register your use of PMMPEG.
-
-
- ΓòÉΓòÉΓòÉ 11.1. Open ΓòÉΓòÉΓòÉ
-
- Use Open to display a window that enables you to choose one or more MPEG
- movies.
-
- You can also drag and drop one or more movies from a folder onto the PMMPEG
- window.
-
-
- ΓòÉΓòÉΓòÉ 11.2. Save ΓòÉΓòÉΓòÉ
-
- Use Save to display a dialog box that enables you to save the MPEG file
- currently loaded. This is especially useful for WebExplorer users as
- WebExplorer generates a non-intuitive filename and writes the file to the
- directory pointed to by your TMP environment variable. This menu item will
- only be enabled when a movie is loaded.
-
-
- ΓòÉΓòÉΓòÉ 11.3. Register ΓòÉΓòÉΓòÉ
-
- Use Register to display a dialog box that enables you to register your payment
- of the shareware fee for PMMPEG. When I send you the registration key after you
- send me the fee, enter your name, organization and the EXACT registration key,
- then click OK. The key is checked and if acceptable, the pop-up warning
- displayed each time PMMPEG is launched will stop. When you then select the
- Product Information item from the Help menu, your name and organization will be
- displayed.
-
- Please see the Registration section to see how to register your copy of PMMPEG.
-
-
- ΓòÉΓòÉΓòÉ 12. Movie ΓòÉΓòÉΓòÉ
-
- Use Movie to set the size and to limit the playback speed of the movie.
-
-
- ΓòÉΓòÉΓòÉ 12.1. Half Size ΓòÉΓòÉΓòÉ
-
- Use Half Size to shrink down the size of the playback window to half the size
- encoded in the movie file. This can speed up playback a little due to the fact
- that fewer pixels have to be changed on the screen.
-
- Note that Presentation Manager has some rules about minimum frame window size,
- so you may not be able to get true half size playback for movies that are
- encoded with a small size.
-
-
- ΓòÉΓòÉΓòÉ 12.2. Normal Size ΓòÉΓòÉΓòÉ
-
- Use Normal Size to set the size of the playback window to exactly the size
- encoded in the movie file.
-
-
- ΓòÉΓòÉΓòÉ 12.3. Double Size ΓòÉΓòÉΓòÉ
-
- Use Double Size to set the size of the playback window to exactly double the
- size encoded in the movie file. This slows down playback a bit because 4X the
- number of pixels have to be changed on the screen. DIVE mode helps a lot here
- because it's been tuned to scale the playback size better than the conventional
- GpiBitBlt method.
-
-
- ΓòÉΓòÉΓòÉ 12.4. Unlimited ΓòÉΓòÉΓòÉ
-
- Set movie playback speed to go as fast as it possibly can. The playback speed
- is directly related to the speed of the processor in your machine, how much
- cache you have, how fast your hard disk and controller are, how fast your
- graphics card is and how it's connected to your system.
-
- PMMPEG does not have any exact frame rate settings due to the lack of a
- high-speed timer and the complexity of MPEG decoding.
-
-
- ΓòÉΓòÉΓòÉ 12.5. Fast ΓòÉΓòÉΓòÉ
-
- Set movie playback speed to play at a maximum of approximately 30 frames per
- second on machines that can play that fast. There are a number of factors that
- can affect the actual playback speed so this is just a guideline. This is
- useful for fast computers that play movies far too fast.
-
- PMMPEG does not have any exact frame rate settings due to the lack of a
- high-speed timer and the complexity of MPEG decoding.
-
-
- ΓòÉΓòÉΓòÉ 12.6. Medium ΓòÉΓòÉΓòÉ
-
- Set movie playback speed to play at a maximum of approximately 15 frames per
- second on machines that can play that fast. There are a number of factors that
- can affect the actual playback speed so this is just a guideline. This is
- useful for fast computers that play movies far too fast.
-
- PMMPEG does not have any exact frame rate settings due to the lack of a
- high-speed timer and the complexity of MPEG decoding.
-
-
- ΓòÉΓòÉΓòÉ 12.7. Slow ΓòÉΓòÉΓòÉ
-
- Set movie playback speed to play at a maximum of approximately 5 frames per
- second on machines that can play that fast. There are a number of factors that
- can affect the actual playback speed so this is just a guideline. This is
- useful for fast computers that play movies far too fast or when you want a
- "slow motion" playback.
-
- PMMPEG does not have any exact frame rate settings due to the lack of a
- high-speed timer and the complexity of MPEG decoding.
-
-
- ΓòÉΓòÉΓòÉ 13. Options ΓòÉΓòÉΓòÉ
-
- Use Options to toggle menus, status bars and turn the DIVE support on and off.
-
-
- ΓòÉΓòÉΓòÉ 14. WebExplorer ΓòÉΓòÉΓòÉ
-
- WebExplorer is an application that ships with OS/2 Warp that allows users to
- browse WorldWideWeb sites all over the world with a few easy clicks.
- WebExplorer can be configured to launch various programs when it encounters
- various types of data on these Web sites.
-
- One of these types of data is MPEG files, generally found with the .MPG
- extension. To configure WebExplorer to automatically launch PMMPEG whenever
- you select an MPEG file, do the following:
-
- Start WebExplorer by double-clicking on its icon in the IBM Internet
- Connection for OS/2 folder.
-
- Click on the Configure menu item
-
- Click on the Viewers... menu item.
-
- Click on the button in the ComboBox and scroll down the list until you
- find MPEG video format.
-
- Enter the full path to PMMPEG.EXE in the Program field. You must specify
- the driver letter and complete path, i.e. E:\TCPIP\BIN\PMMPEG.EXE
-
- Click on the OK button
-
- Now start up your connection to the Internet and browse one of the well-known
- MPEG sites. When you click on an .MPG filename, it should load the file,
- launch PMMPEG and automatically start playing the movie.
-
-
- ΓòÉΓòÉΓòÉ 14.1. Show Menu/Toolbar ΓòÉΓòÉΓòÉ
-
- Toggle the display/no display of the menu bar and the toolbar. This is useful
- to set up a very plain playback frame by removing the menu bar and the toolbar.
- You can still control the player using the pop-up menu using Mouse Button 2.
-
-
- ΓòÉΓòÉΓòÉ 14.2. Status ΓòÉΓòÉΓòÉ
-
- Use Status to enable the Status bar at the bottom of the frame window. This
- will display the size in pixels, the frame type of the movie, and the running
- frames/second value. Click on the Status menu item again to remove the Status
- bar. The window will resize itself to accommodate the size of the status bar.
-
- The status bar will display an 'I' for MPEG movies with I-frames only: and
- 'IBP' for MPEG movies with IBP-frames:
-
- The status bar can optionally display an indication of frames with some kind of
- decoding problem
-
-
- ΓòÉΓòÉΓòÉ 14.3. Note Decoding Errors ΓòÉΓòÉΓòÉ
-
- Use Note Decoding Errors to enable the Status bar at the bottom of the frame
- window to show which frames of the movie have some kind of decoding problem
-
- Each frame that has a decoding error will cause the Status bar to have a red
- background, which changes back to a gray background on the next correct frame.
- Click on the Note Decoding Errors menu item again to remove this feature.
-
-
- ΓòÉΓòÉΓòÉ 14.4. Maintain Aspect Ratio ΓòÉΓòÉΓòÉ
-
- Use Maintain Aspect Ratio to make sure the playback window sets itself to be in
- the proper ratio to the original movie when you resize the window by dragging
- one of the window edges larger or smaller.
-
- This makes movies "look right" by preventing playback from being too tall or
- too wide. Click on the Maintain Aspect Ratio menu item again to gain complete
- control over the playback window.
-
-
- ΓòÉΓòÉΓòÉ 14.5. Use DIVE - <n> Colors ΓòÉΓòÉΓòÉ
-
- Use Use DIVE - <n> Colors to enable the high speed DIVE graphics system.
-
- This menu item will only be available if the DIVE subsystem is enabled on your
- system. If enabled, the <n> will be replaced with the number of colors your
- desktop is currently set to. This will generally be 256, 64K or 16M for 256
- colors, 65,536 colors or 16.7 million colors. Depending on the graphics
- adapter, amount of video RAM and graphics driver you have, you can change the
- number of colors on your desktop using Page 1 of the System notebook in the
- System Setup folder.
-
- Increasing the number of colors will generally give you a better image, but
- will slow down the playback speed due to the increase in the amount of data to
- be changed in your video RAM.
-
- Click on the Use DIVE - <n> Colors item again to go back to the conventional
- GpiBitBlit display method.
-
-
- ΓòÉΓòÉΓòÉ 14.6. DIVE Details Dialog ΓòÉΓòÉΓòÉ
-
- Use DIVE Details to query the DIVE graphics system. capabilites of your system.
-
- This menu item will only be available if the DIVE subsystem is enabled on your
- system. If enabled, a dialog box will pop up with all of the gory details
- about how DIVE is running on your system. Here are some of the more
- interesting details:
-
- Direct screen access. This will always be YES.
-
- Screen access requires bank switch. If NO, DIVE can write directly to
- anywhere in your video RAM. If YES, it must access your video RAM in a
- segmented manner, slowing performance.
-
- Screen color depth. This is the number of bits of color for each pixel.
- 8 = 256 colors, 16 = 64K colors, 24 = 16.7 million colors.
-
- Screen aperture size. This is the amount of video RAM accessible at any
- one time.
-
- Number of input formats. This is the number of different color spaces
- that DIVE can directly handle.
-
- Number of output formats. This is the number of different color spaces
- that DIVE can directly handle.
-
-
- ΓòÉΓòÉΓòÉ 15. Open ΓòÉΓòÉΓòÉ
-
- Use Open to select one or more MPEG movies:
-
- 1. Select the down arrow to the right of the Drive list to display all the
- drives on your system.
- 2. Select a drive from the Drive list.
- 3. Select a directory from the Directory list.
- 4. Select one or more file names from the File list or type in a filename.
- 5. Select the Open pushbutton to play the movies you want to view.
-
- For a detailed explanation of each field, select from the list below:
-
- Open file name
- Type of file
- Drive
- File
- Directory
- Open
- Cancel
-
-
- ΓòÉΓòÉΓòÉ 16. Keys PMMPEG ΓòÉΓòÉΓòÉ
-
- There is no key specific PMMPEG help.
-
-
- ΓòÉΓòÉΓòÉ 17. Open Filename ΓòÉΓòÉΓòÉ
-
- Type the name of the movie you want to open in the Open filename field. If you
- include a wildcard character such as * or ?, the file list will be restricted
- to those filenames that match the pattern. Click on one or more filenames in
- the list and select the Open pushbutton.
-
-
- ΓòÉΓòÉΓòÉ 18. Type of File ΓòÉΓòÉΓòÉ
-
- Select the down arrow to the right of the Type of file field to display the
- available file types.
-
-
- ΓòÉΓòÉΓòÉ 19. Drive ΓòÉΓòÉΓòÉ
-
- The Drive list displays the drives on your system. Select the drive that
- contains the files you want to view.
-
-
- ΓòÉΓòÉΓòÉ 20. File ΓòÉΓòÉΓòÉ
-
- The File list displays all the files that match the current pattern in the Open
- Filename field. Select one or more files you want to open by clicking with the
- mouse. Clicking on a selected filename will remove it from the list of
- selected files.
-
-
- ΓòÉΓòÉΓòÉ 21. Directory ΓòÉΓòÉΓòÉ
-
- The Directory list displays the directories on the selected drive. Select a
- directory to display the list of files from that directory in the File list
- box.
-
-
- ΓòÉΓòÉΓòÉ 22. OK ΓòÉΓòÉΓòÉ
-
- Select OK to accept all information in the window, remove the window from the
- screen and view the movie.
-
-
- ΓòÉΓòÉΓòÉ 23. Cancel ΓòÉΓòÉΓòÉ
-
- Select Cancel to remove the window from the screen without viewing a movie.
-
-
- ΓòÉΓòÉΓòÉ 24. PMMPEG ΓòÉΓòÉΓòÉ
-
- Use PMMPEG to display digital movies conforming to the MPEG-1 specification.
- PMMPEG can handle both I-Frame only movies and IBP-Frame movies. It cannot
- currently handle MPEG movies with embedded sounds, MPEG 1 Stream files or
- MPEG-2 files.
-
- Related Information:
-
- Command Line Options
- Installation
- Desktop Object
- MPEG File Association
- Toolbar
- Menus
- Status Bar
- Slideshow
- Saving Individual Frames
- Drag/Drop
- 256 Colors
- Summary of New Features
- Suggestions for Future Releases
- MPEG File Info
- MPEG-2 Info
- DIVE
- WebExplorer
- Origin of the Code
- Movie Sites
- Known Bugs
- Credits
- Author Contact
- Registration
-
-
- ΓòÉΓòÉΓòÉ 25. Help ΓòÉΓòÉΓòÉ
-
- Use Help to display the Help submenu with the following menu items:
-
- Help Index
-
- General Help
-
- Using Help
-
- Product Information
-
-
- ΓòÉΓòÉΓòÉ 26. Help Index ΓòÉΓòÉΓòÉ
-
- Use Help Index to display the index of all items in the on-line help system.
-
-
- ΓòÉΓòÉΓòÉ 27. General Help ΓòÉΓòÉΓòÉ
-
- Use General Help to display the high-level help items in the on-line help
- system.
-
-
- ΓòÉΓòÉΓòÉ 28. Using Help ΓòÉΓòÉΓòÉ
-
- Use Using Help to display the help items on how to use the on-line help system
- built into OS/2.
-
-
- ΓòÉΓòÉΓòÉ 29. Product Information ΓòÉΓòÉΓòÉ
-
- Use Product Information to display the "About Box" for PMMPEG.
-
- If you haven't registered your copy of PMMPEG, you will be gently reminded to
- send in your registration and how many days left you have in your 30 day
- evaluation period. If you have more than 15 days left, the text will be
- displayed normally. If you have less than 15 days left the text will be
- displayed in yellow. If you go over your evaluation period, the text will turn
- to red, but the application will continue to work, with no loss of function.
-
- If you have registered, your name and organization will be displayed in the
- text, thanking you for your registration.
-
-
- ΓòÉΓòÉΓòÉ 30. MPEG File Info ΓòÉΓòÉΓòÉ
-
- This program implements the standard described in the Committee Draft ISO/IEC
- CD 11172 dated December 6, 1991 which is sometimes refered to as "Paris
- Format."
-
- The player expects MPEG-1 video streams only. It can not handle multiplexed
- MPEG streams or video+audio streams. The player uses the paris entropy coding
- table set (which we believe to be the MPEG-1 standard), but can not handle any
- bitstreams that use the "berlin" entropy coding table set. Berlin data is
- relatively rare so there shouldn't be too much to worry about here, but be
- aware of the difference when looking for streams to play.
-
- XING is a popular DOS/Windows-based MPEG encoder/player that does not take
- advantage of P or B frames (ie, frames with motion compensation). Performance
- of the player on XING data is significantly slower (half or less) than the
- performance when motion compensated MPEG data is decoded.
-
-
- ΓòÉΓòÉΓòÉ 31. MPEG-2 Info ΓòÉΓòÉΓòÉ
-
- There is a new version of MPEG on the block, MPEG-2, otherwise known as ISO/IEC
- DIS 13818-2. I have experimented with the sample MPEG-2 decoder and found that
- the visual quality is lacking on MPEG-1 movies that work well with the Berkeley
- decoding engine. Moving up to an MPEG-2 decoding engine will allow more movies
- to be played, but at the expense of a clear image on the movies we all know and
- love. As most movies are still MPEG-1 at this time, I have decided to stick
- with the Berkeley engine and revisit the MPEG-2 engine at a future date.
-
- Here is some information on MPEG-2 from the README file of the MPEG-2 source
- code package for an encoder and decoder from the MPEG Software Simulation
- Group. The code can be obtained from ftp.netcom.com in the /pub/cfogg/mpeg2
- directory. They maintain a listserver for their code. Email to
- listserv@netcom.com with message text: subscribe mpeg-users [your E-mail
- address]
-
- MPEG-2 Video is a generic method for compressed representation of video
- sequences using a common coding syntax defined in the document ISO/IEC 13818
- Part 2 (CD: Nov. 1993, DIS: March 1994) by the International Organization for
- Standardization (ISO) and the International Electrotechnical Commission (IEC),
- in collaboration with the International Telecommunications Union (ITU) as
- Recommendation H.262. The MPEG-2 concept is similar to MPEG-1, but includes
- extensions to cover a wider range of applications.
-
- The primary application targeted during the MPEG-2 definition process was the
- all-digital transmission of broadcast TV quality video at coded bitrates
- between 4 and 9 Mbit/sec. However, the MPEG-2 syntax has been found to be
- efficient for other applications such as those at higher bit rates and sample
- rates (e.g. HDTV). The most significant enhancement over MPEG-1 is the addition
- of syntax for efficient coding of interlaced video (e.g. 16x8 block size motion
- compensation, Dual Prime, et al). Several other more subtle enhancements (e.g.
- 10-bit DCT DC precision, non-linear quantization, VLC tables, improved mismatch
- control) are included which have a noticeable improvement on coding efficiency,
- even for progressive video.
-
- Other key features of MPEG-2 are the scalable extensions which permit the
- division of a continuous video signal into two or more coded bit streams
- representing the video at different resolutions, picture quality (i.e. SNR), or
- picture rates.
-
-
- ΓòÉΓòÉΓòÉ 32. DIVE ΓòÉΓòÉΓòÉ
-
- All display drivers in the OS/2 Warp 3.0 box and a growing number of 3rd party
- graphics card drivers (running with at least 256 colors) allow for a technique
- called DIVE, or Direct Interface Video Extensions. It's easy for a 3rd party
- driver writer to include DIVE support because the support code is in the
- reference video driver shipped in the Device Driver Kit shipped by IBM.
-
- DIVE consists of a set of APIs that allows application developers to get
- higher-speed graphics output than the conventional GpiBitBlt approach and also
- provides color conversion facilities.
-
- DIVE has evolved over time.
-
- In OS/2 2.0, it was a private interface used by the Ultimotion movie
- display application.
-
- In OS/2 2.1, a single IOCtl interface was documented to provide raw video
- RAM access from a conventional Ring 3 OS/2 Presentation Manager
- application. There were some problems implementing this interface in
- PMMPEG 2.1. I chose to not implement DIVE at that time:
-
- - DIVE forces you to write the color index of the palette currently
- loaded in the hardware. I got this working for grayscale but in
- color mode the colors were way off and I couldn't figure out why. I
- believe the Berkeley engine is having a hard time dithering to the
- table of color indexes I set up, but since this doesn't work it's a
- major reason not to include it.
-
- - DIVE does not handle expansion of an image so I would have to double
- the image by hand in my code, or lose that feature.
-
- - Due to the length of time it takes to decode and dither each frame
- in the movie as compared to the short amount of time it takes to
- actually get PM to display the frame, I was only seeing 0.5 to 1
- frame per second improvement. I need to make serious increases in
- decoding and dithering performance before DIVE will make a serious
- difference in the overall frame rate.
-
- - DIVE completely writes over whatever is on the screen at that place.
- This is a problem when you try to pull down the Options menu - DIVE
- overwrites the menu with the frames as they're decoded and you can't
- tell what you're selecting from the menu.
-
- - You have to have a graphics device driver that has been written to
- tolerate DIVE and you have to have the SMVDD.SYS driver from MMPM/2
- in your CONFIG.SYS for DIVE from an application to work. Most newer
- drivers will work, but some may not.
-
- OS/2 Warp 3.0 has documented a set of powerful APIs that provide
- high-speed graphics display (including image stretch and compress),
- clipping rectangle handling and color space conversion, built into every
- video driver that ships with OS/2 Warp 3.0 and running with at least 256
- colors. If the desktop is currently set to 16 colors, DIVE will not be
- enabled because 16 colors is insufficient to generate decent images.
- Color space conversion means that DIVE will take care of converting
- images using non-RGB color descriptions. This is especially useful for
- PMMPEG because the MPEG files contain the color data in YUV422 color
- space and DIVE knows how to convert these colors at high speed to the RGB
- values required by most graphics cards.
-
- There is an overview of DIVE in the Multimedia Application Programming
- Guide and the APIs are documented in the Multimedia Programming
- Reference. These books come on-line in the OS/2 Warp 3.0 toolkit. It is
- currently (April 1995) available only via the Developer Connection CD-ROM
- subscription service. I expect it will be bundled with various compilers
- as compiler vendors ship new versions. To use DIVE in your application
- you only need to #include <dive.h> and <fourcc.h> in your application and
- call the Dive* APIs you require. DIVE.DLL will be dynamically loaded by
- OS/2 when your application runs.
-
- The high-level APIs available in DIVE are:
-
- - DiveOpen - Opens a DIVE instance for your application
-
- - DiveClose - Closes the DIVE instance
-
- - DiveQueryCaps - Query DIVE capabilities for current system
-
- - DiveAllocImageBuffer - Allocate buffer, perhaps right in Video RAM
-
- - DiveFreeImageBuffer - Free the buffer
-
- - DiveSetupBlitter - Describe image color space, areas to paint on
- Blit
-
- - DiveBeginImageBufferAccess - Gain addressability to the buffer
-
- - DiveEndImageBufferAccess - Release addressability to the buffer
-
- - DiveBlitImage - Convert color space and put image on the screen
-
- - DiveSetDestinationPalette - tell DIVE when hardware palette changes
-
- The low-level features available in DIVE are:
-
- - DiveCalcFrameBufferAddress - get Ring 3 address in video RAM
-
- - DiveAcquireFrameBuffer - get access to raw video RAM
-
- - DiveDeacquireFrameBuffer - release access to raw video RAM
-
- - DiveSwitchBank - required for multiple aperture video subsystem
-
- There is another component, called enDIVE, that works at the graphics driver
- layer. It allows a programmer developing a graphics driver for a card with
- special hardware support to be able to take advantage of all of the features
- the hardware can offer in a standard way. Chips are coming on the market that
- can do color space conversions, stretching and compressing images, etc. This
- is clearly going to be faster than doing it in software, giving any
- DIVE-enabled application a large, transparent speed increase. If your
- graphics card has such support, please email to me so I can see the
- performance that new hardware and enDIVE provides. I'm told that the ThinkPad
- 755 has a chip (ASKEY?) that performs some of this, as does an upcoming Weitek
- chip.
-
- If you're curious about DIVE, I'm going to be giving a session on DIVE in
- general and specifically my experience implementing it in PMMPEG at the Fourth
- Annual ColoradOS/2 developer's conference. It will be held October 16 - 20,
- 1995 at the Keystone Resort in Vail, Colorado. For a brochure and reservation
- information, please call Wayne Kovsky at (719)481-3389.
-
-
- ΓòÉΓòÉΓòÉ 33. Origin of the Code ΓòÉΓòÉΓòÉ
-
- Computer Science Division-EECS, Univ. of Calif. at Berkeley. Lawrence A.
- Rowe, Ketan Patel, and Brian Smith wrote a Unix and X Windows-based MPEG
- decoder and viewer. This program is based on their version 2.0 release.
-
- To get the original source, ftp to toe.cs.berkeley.edu, directory
- /pub/multimedia/mpeg/mpeg-2.0.tar.Z.
-
- These folks have set up several mailing lists for their code.
-
- - mpeg-list-dist@CS.Berkeley.EDU
-
- General information on the decoder for everyone interested should
- be sent to this list. This should become active after 11/20/92
-
- - mpeg-list-request@CS.Berkeley.EDU
-
- Requests to join or leave the list should be sent to this address.
- The subject line should contain the single word ADD or DELETE.
-
- - mpeg-bugs@CS.Berkeley.EDU
-
- Problems, questions, or patches should be sent to this address.
-
- Tom Lane of the Independent JPEG Group provided the basic inverse DCT
- code used by the Berkeley player. (tom_lane@g.gp.cs.cmu.edu)
-
- John Webb contributed the frame subclass code for the status bar and
- provided invaluable help when things wouldn't work right.
-
- I, Mike Brown, ported the Unix/X code to OS/2 and Presenation Manager and
- "integerized" the heavy floating point in the inverse DCT routine.
-
- Click to see the Berkley Disclaimer
-
-
- ΓòÉΓòÉΓòÉ 34. Berkeley Disclaimer ΓòÉΓòÉΓòÉ
-
- /*
- * Copyright (c) 1992 The Regents of the University of California.
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose, without fee, and without written agreement is
- * hereby granted, provided that the above copyright notice and the following
- * two paragraphs appear in all copies of this software.
- *
- * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
- * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- */
-
-
- ΓòÉΓòÉΓòÉ 35. Movie Sites ΓòÉΓòÉΓòÉ
-
- You can get MPEG movies from computers around the world. The well-known ones I
- have found are:
-
- ftp Sites
-
- - emx.cc.utexas.edu /pub/mnt/mpeg
-
- - s2k-ftp.cs.berkeley.edu /pub/multimedia/mpeg/movies
-
- - havefun.stanford.edu /pub/mpeg
-
- - phoenix.oulu.fi /pub/mpeg
-
- - calypso-2.oit.unc.edu /pub/multimedia/animation/mpeg
-
- - seds.lpl.arizona.edu /pub/anim
-
- - venice.tcp.com /pub/anime-manga/anim/mpeg
-
- - ftp.hawaii.edu
-
- - ftp.univ-rennes1.fr /pub/Images/Astro
-
- - ftp.netcom.com /pub/jrp/film.html
-
-
- World Wide Web Pages:
-
- - www.univ-rennes1.fr/Astro/anime-e.html
-
- - mambo.ucsc.edu/psl/thant/thant.html
-
- - akebono.stanford.edu/yahoo/Computers/Multimedia/Movies
-
- - match.com/~tlod
-
-
- Internet Newsgroups
-
- - alt.binaries.multimedia
-
-
- ΓòÉΓòÉΓòÉ 36. Known Bugs ΓòÉΓòÉΓòÉ
-
- These bugs are known and are on the list of things to fix in the next release.
-
- DIVE black frame handling broken
-
- DIVE resized or uncovered no image displayed
-
- Crashes loading certain movies
-
- Frames flip back and forth quickly
-
- Diagonal stripes playback
-
- Crashes playing certain movies
-
- Color Table
-
- Bad Encodings
-
- Playback Speed
-
- OS/2 for SMP
-
- Icon Problem
-
- Many PMMPEG.INI files, options not saved
-
-
- ΓòÉΓòÉΓòÉ 36.1. Color Table Problem ΓòÉΓòÉΓòÉ
-
- When switching from color to gray or gray to color while an I-Frame-only movie
- is playing, you will see a 1 frame distortion of colors. This is a restriction
- on the way the color table is handled and the proper display of the image will
- pick up after the color table change completely makes its way through the
- application. On IBP-Frame movies, it can take a few frames for the image to
- correct itself, generally until an I frame is encountered.
-
-
- ΓòÉΓòÉΓòÉ 36.2. DIVE black frame handling broken ΓòÉΓòÉΓòÉ
-
- The first few initial black frames of MPEG files are not correctly detected and
- ignored in DIVE mode. Just ignore them...
-
-
- ΓòÉΓòÉΓòÉ 36.3. DIVE resized or uncovered no image displayed ΓòÉΓòÉΓòÉ
-
- When the window is resized or part of the window is uncovered while in DIVE
- mode and the movie is stopped, the image is not displayed. This is because the
- image is generated, handed to the DIVE system and tossed away, so there's
- nothing to hand to DIVE again.
-
-
- ΓòÉΓòÉΓòÉ 36.4. Crashes loading certain movies ΓòÉΓòÉΓòÉ
-
- PMMPEG will crash loading certain movies, such as one featuring a jet.
-
-
- ΓòÉΓòÉΓòÉ 36.5. Frames flip back and forth quickly ΓòÉΓòÉΓòÉ
-
- PMMPEG will play certain movies normally and then get stuck on two frames,
- flipping back and forth between them quickly. pamander.mpg, christie.mpg and
- ss-94.mpg exhibit this behavior.
-
-
- ΓòÉΓòÉΓòÉ 36.6. Diagonal stripes playback ΓòÉΓòÉΓòÉ
-
- PMMPEG will play certain movies badly, showing only diagonal stripes of color.
- These movies always have sizes that aren't exact multiples of 16 pixels. This
- points to a bug in the underlying Berkeley decoder engine. Thanks to Murray
- Penny for the Web site http://rs560.cl.msu.edu/weather for examples of bad
- playback.
-
-
- ΓòÉΓòÉΓòÉ 36.7. Crashes playing certain movies ΓòÉΓòÉΓòÉ
-
- PMMPEG will crash playing certain movies, such as disposal.mpg
-
-
- ΓòÉΓòÉΓòÉ 36.8. Bad Encodings ΓòÉΓòÉΓòÉ
-
- Some movies have encoding problems. PMMPEG tries to handle these as best as
- possible (for example skipping corrupted frames) and continue playing the
- movie. There are a few distinct cases that will cause the following behaviours
- in PMMPEG:
-
- PMMPEG may crash either at the initial load of the movie or at some point
- during playback.
-
- Two movies I have found will get to a certain point in the movie and then
- rapidly flip back and forth between two adjacent frames and never
- terminate.
-
- Two movies I have found seem to have a problem with the "vertical hold"
- as the display looks like a series of jagged diagonal lines.
-
- I will work to bulletproof the code, but it also depends on the Berkeley folks
- to release bug fixes to their engine that will help all platforms.
-
-
- ΓòÉΓòÉΓòÉ 36.9. Playback Speed ΓòÉΓòÉΓòÉ
-
- Movie playback is not real-time, except on high-performance systems. Faster CPU
- and video cards will help to improve the situation and internal optimization is
- ongoing. Use grayscale to get the fastest playback, at the expense of losing
- color.
-
-
- ΓòÉΓòÉΓòÉ 36.10. OS/2 for SMP ΓòÉΓòÉΓòÉ
-
- PMMPEG seems to work well on a beta level of OS/2 for SMP, the version of OS/2
- that can run on certain machines that have multiple 486 or Pentium processors.
- I've seen it randomly crash with a Divide by Zero error. I don't know if it's
- a bug in the OS/2 product since it was at beta level or in my code. When I get
- the chance to debug it on a GA level of OS/2 for SMP, I'll try to track this
- down.
-
-
- ΓòÉΓòÉΓòÉ 36.11. Icon Problem ΓòÉΓòÉΓòÉ
-
- Users of certain ATI graphics cards report that the PMMPEG icon is not being
- displayed properly, instead a generic OS/2 icon is shown. Since this works
- properly on other systems including XGA and S3, I suspect it's an ATI driver
- problem.
-
-
- ΓòÉΓòÉΓòÉ 36.12. Many PMMPEG.INI files, options not saved ΓòÉΓòÉΓòÉ
-
- If you make your own icon for PMMPEG instead of using INSTALL.CMD , make SURE
- you specify the full path to the PMMPEG.EXE in the Settings page. If you
- don't, the Workplace Shell won't pass the path of the executable file to PMMPEG
- as it's running and you'll end up with PMMPEG.INI files scattered over your
- hard disk and none of your saved settings will work correctly.
-
-
- ΓòÉΓòÉΓòÉ 37. Author Contact ΓòÉΓòÉΓòÉ
-
- Author name: Mike Brown
-
- You can reach me in one of the following manners:
-
- mbrown@sescomp.com (or use the syntax required by your system to send
- Internet email).
-
-
-
- SES Computing, Inc.
- 13206 Jenner Lane
- Austin, TX 78729-7456
-
- I look forward to reports of new movie sites, new feature requests and of
- course bug reports.
-
- Note: I plan to move my family to Melbourne, Australia in December, 1995 for
- two years. This complicates registering your copy of PMMPEG at that time,
- because my email address may not remain the same and I'd probably prefer
- Aussie Dollars by then! I'll work on making it easy for you to register after
- this time, but if you have trouble contacting me, please keep trying.
-
- Also, if you've got a job for me doing OS/2 development, PLEASE contact me as
- I'd like to get something lined up in lots of time before we head over.
-
-
- ΓòÉΓòÉΓòÉ 38. Registration ΓòÉΓòÉΓòÉ
-
- Release 1.0 of PMMPEG was distributed as Freeware because it didn't have all of
- the features that I eventually wanted to include, and I also wanted to gauge
- the market for such a program. I have decided to distribute Release 3.0 of
- PMMPEG as Shareware to recoup some of the development, postage and network
- costs associated with distributing it.
-
- The suggested price is $15.00, a bargain at twice the price! If after 30 days
- of use you decide that PMMPEG is a useful tool, please print out the
- Registration Form and mail it and the registration fee to the address shown on
- the form.
-
- I have specifically not disabled any features, but trust you to "do the right
- thing" to support development of cheap but useful software in the growing OS/2
- environment.
-
- I'm pleased with the registration rate from PMMPEG 2.1, but I still think there
- are a lot of folks out there that have forgotten to register, so I decided to
- add the Registration feature.
-
- As a registered user, you are entitled to a free upgrade to the next release of
- PMMPEG. You can receive your upgrade in one of the following manners:
-
- Through the post office on a 5╨╝" or 3╨╗" floppy disk.
-
- Through email as a series of UUENCODED email messages.
-
- By ftp from ftp.cdrom.com.
-
- Be sure to completely fill out the form so I can keep you up to date.
-
-
- ΓòÉΓòÉΓòÉ 38.1. Registration Form for PMMPEG Release 3.0 ΓòÉΓòÉΓòÉ
-
- To print this registration form, click on the Print... button below, make sure
- 'This Section' is selected and then click on Print.
-
- Send $15 (plus applicable sales tax if you live in Texas) in a check or money
- order in U.S. funds drawn on a U.S. bank - sorry my bank is VERY cranky!) with
- this completed form to
-
- SES Computing, Inc.
- 13206 Jenner Lane
- Austin Texas 78729-7456
-
- Name ______________________________________________
-
- Address ______________________________________________
-
- State/Province ______________________________________________
-
- Country ______________________________________________
-
- Zip/Postal Code ______________________________________________
-
- Internet/Compuserve ______________________________________________
-
- Where did you get PMMPEG? ________________________________________
-
- How would you like to receive your free next release? (Circle one)
-
- 5╨╝" Floppy 3╨╗" Floppy UUENCODED Email FTP from ftp.cdrom.com
-
- If you circled UUENCODED Email or FTP, be sure to show an email address above
- to allow me to deliver the new version or notify you by email that a new
- version is available.
-
- Your signature below acknowledges the following:
-
- USERS OF PMMPEG MUST ACCEPT THIS DISCLAIMER OF WARRANTY
-
- PMMPEG is supplied 'as is'. The author disclaims all warranties, expressed or
- implied, including, without limitation, the warranties of merchantability and
- of fitness for any purpose. The author assumes no liability for damages,
- direct or consequential, which may result from the use of PMMPEG. In any case
- the maximum liability of the seller will be limited exclusively to product
- replacement or refund of the purchase price.
-
- Your signature ______________________________________________
- Thank you for registering PMMPEG, Mike Brown.
-
-
- ΓòÉΓòÉΓòÉ 39. Credits ΓòÉΓòÉΓòÉ
-
- Thanks to the following people that used previous PMMPEG releases and sent in
- valuable suggestions, bug reports and beta test feedback.
-
- Que Alexander
-
- Keith Brafford
-
- Charles Buck
-
- R. Campbell
-
- Troy Caperton
-
- Les Chan
-
- Michael Chan
-
- John-Marc Chandonia
-
- Dave Conway-Jones
-
- Linden DeCarmol
-
- Mike W. Dross
-
- Rainer Falkner
-
- Mark Fay
-
- Roger Geer
-
- Tom Giroux
-
- Eric Goodall
-
- Scott Harper
-
- Steve Hancock
-
- Chris Herborth
-
- Wey J Ho
-
- Dzung T. Hoang
-
- Philip Hunter
-
- Rich Iachetta
-
- Scott INTREPID816
-
- Ernst-Walter Joehnk
-
- John Johnson
-
- Scott Jost
-
- Paul Kolenbrander
-
- Fredrik Kvamme
-
- Morris Kwok
-
- Jim Leff
-
- Alann Lopes
-
- Kevin Lowey
-
- Guy McArthur
-
- Gianluca Magalotti
-
- Markus Moenig
-
- Makoto Nagata
-
- John Navarro
-
- Charlie O
-
- Roman Olynyk
-
- Chris Peck
-
- Murray Penney
-
- Mark Pietras
-
- Graham Sanderson
-
- Carl Sayres
-
- Gabriele Sartori
-
- Darren Schultz
-
- James Shoemaker
-
- Greg Spath
-
- Brian Stark
-
- Kevin Sole
-
- Joey Sum
-
- David Sutherland
-
- Gil Tennant
-
- Aldis Valkirs
-
- John VanHoozer
-
- Nicolas Wagrez
-
- John Webb
-
- Ender Wiggin
-
- Elton Woo
-
- Stefan Zollner
-
-
- ΓòÉΓòÉΓòÉ 40. Saving Individual Frames ΓòÉΓòÉΓòÉ
-
- This feature allows you to save the curently displayed frame to the Clipboard
- or as an OS/2 Bitmap file These toolbar buttons are disabled during playback.
-
-
- ΓòÉΓòÉΓòÉ 41. 256 Colors ΓòÉΓòÉΓòÉ
-
- The dithering code in PMMPEG (both in DIVE mode and non-DIVE mode) requires the
- hardware be configured to display at least 256 colors or truly awful images are
- produced. If less than 256 color capability is detected at startup, a message
- will be displayed to that effect and the program will exit.
-
-
- ΓòÉΓòÉΓòÉ 42. Slideshow ΓòÉΓòÉΓòÉ
-
- This feature allows you to select multiple files using:
-
- The File Dialog
-
- You can select multiple files using the File Dialog and they will be
- played in the order they are shown in the list, not in the order that
- they were clicked on.
-
- Drag/drop multiple files from somewhere on the desktop
-
- You can drag and drop multiple files from anywhere on the desktop. The
- files will be played in an indeterminate order as the container that
- you're dragging from will generate the list of files which will not
- necessarily correspond to the manner in which you selected the files.
-
- Filenames on the command line.
-
- You can specify multiple filenames on the command line when you launch
- PMMPEG.
-
- PMMPEG will then play each movie, one after the other, and optionally loop
- back to the front of the list and play again if the Loop mode is set.
-
- If a serious decoding error occurs, the slideshow will halt. You must click
- on the Play button to continue playing. It's not reccommended that MPEG files
- with known encoding problems be selected in a slideshow as it will halt
- playback each time the decoding error occurs.